package com.apes.enquiry.compile;

import com.alibaba.fastjson.JSONObject;
import com.apes.framework.plugin.esb.api.SimpleRequest;

/**
 * 定义译码必须含有的方法
 */
public interface CompileCode {

    /**
     * 根据车架号获取车型信息
     *
     * @param request {"vinCode":"车架号"}
     */
    JSONObject queryCarTypeByVin(SimpleRequest request);

    /**
     * 根据 vin 码和配件别名查询配件标准名称
     *
     * @param request {"vinCode":"车架号（选填）", "keyword":"配件别名（必填）"}
     */
    JSONObject searchPartsHintsInfo(SimpleRequest request);

    /**
     * 根据 vin+配件名称带出epc图片、OE号等信息
     *
     * @param request  {"carTypeIds":[车型id集合]，"partsNames":["配件名称“], "vinAnalyseSource":车架号解析来源, "vinCode":"车架号"}
     */
    JSONObject queryPartsCodeInfo(SimpleRequest request);

    /**
     * 替换编码接口
     *
     * @param request {"partsCodes":["查询配件编码"]，"vin":"车架号（选填）", "brand":"车品牌（选填）"}
     */
    JSONObject queryPartsReplaceCode(SimpleRequest request);

    /**
     * 确定提供服务的子类
     * @param platformId
     * @return
     */
    boolean support(String platformId);
}
